home *** CD-ROM | disk | FTP | other *** search
/ ABC News Interactive: Earthquake / ABC News Interactive - Earthquake.iso / setup / setup.mst < prev    next >
Text File  |  1994-06-24  |  16KB  |  660 lines

  1. '**************************************************************************
  2. '* Earthquake Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST ADDHELP       = 900
  19. CONST QTNONE        = 1100
  20. CONST QTOLDER       = 1200
  21. CONST QTNEWER       = 1300
  22. CONST QTINCOMPLETE  = 1400
  23. CONST APPPATH       = 1700
  24. CONST WARN2         = 1800
  25. CONST SINGLELIST    = 1900
  26. CONST EXTENDEDLIST  = 3900
  27. CONST TOOBIG        = 6300
  28. CONST BADPATH       = 6400
  29. CONST CDBADFILE     = 7200
  30. CONST CDBADNAME     = 7700
  31.  
  32. ''Bitmap ID
  33. ''CONST LOGO = 1
  34.  
  35. GLOBAL DEST$                     '' Application destination path
  36. GLOBAL CUIDLL$                    '' Custom DLL
  37. GLOBAL WinDrive$                '' Drive letter Windows is installed.
  38. GLOBAL SrcDir$                    ''
  39. GLOBAL QTDirNeeded%            '' Status if a QT files need to be copied.
  40. GLOBAL QTFileCount%            '' Number of QT files to check/copy.
  41. GLOBAL QTDestDir$              '' Default destination directory for QT.
  42. GLOBAL QTWSrcDir$              '' Directory where QT should/is installed
  43. GLOBAL AutoexecWasModified% 
  44. GLOBAL RestartWindows%            '' Status if need message to Restart Windows
  45. GLOBAL szSectionYear%
  46. GLOBAL szSectionMonth%
  47. GLOBAL szSectionDay%
  48. GLOBAL    CheckQTFiles%            '' Did we already check for the QT Files?
  49. GLOBAL BackedUp%                '' Status that user selected backup
  50. GLOBAL CopyChoice$
  51. GLOBAL UserChoice$
  52. GLOBAL    AutoExecChoice$
  53. GLOBAL CDdrive$
  54.  
  55. DECLARE FUNCTION    QTFilesOkay (szTemp$) AS INTEGER
  56. DECLARE FUNCTION    MakePath (szDir$, szFile$) AS STRING
  57. DECLARE FUNCTION    VerifyQTDate (szDate$) AS INTEGER
  58. DECLARE FUNCTION    GetNewDestination ( szDir$ ) AS STRING
  59. DECLARE FUNCTION    AddCDromDriveLetter ( szLabel$, szWord$) AS INTEGER
  60. DECLARE SUB          PromptQT (szType%)
  61. DECLARE SUB        CreateIcon
  62. DECLARE FUNCTION     SoundCardFound    LIB "mscuistf.dll" () AS INTEGER
  63. DECLARE FUNCTION   ChangeDriveLetter LIB "mscuistf.dll" (Setin$, Setout$, szLetter$, szWord$) AS INTEGER
  64. DECLARE FUNCTION   AppendToPath LIB "mscuistf.dll" (Setin$, Setout$, szPath$) AS INTEGER
  65. DECLARE FUNCTION     Verify256Color    LIB "mscuistf.dll" () AS INTEGER
  66.  
  67. START:
  68.     SetTitle "Earthquake Setup"
  69.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  70.     DEST$ = "C:\QUAKE"
  71.     CheckQTFiles% = 0
  72.     SoundCardWarning% = 0
  73.  
  74.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  75.     IF szInf$ = "" THEN
  76.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  77.     END IF
  78.     ReadInfFile szInf$
  79.  
  80.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  81.     IF IsDriveValid(WinDrive$) = 0 THEN
  82.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  83.         GOTO QUIT
  84.     END IF
  85.  
  86. CHECKWINVER:                '' Verify Windows 3.1 or later
  87.     WinMaj% = GetWindowsMajorVersion()
  88.     IF (WinMaj% < 3 OR (WinMaj% = 3 AND GetWindowsMinorVersion() < 10)) THEN
  89. WRONGVER:
  90.         sz$ = UIStartDlg(CUIDLL$, CDBADNAME, "FInfoDlgProc", 0, "")
  91.         IF sz$ = "EXIT" THEN
  92.            UIPop 1
  93.             END
  94.         ELSE
  95.             GOTO WRONGVER
  96.           ENDIF
  97.     ENDIF
  98.  
  99. WELCOME:
  100.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  101.     IF sz$ = "CONTINUE" THEN
  102.         UIPop 1
  103.     ELSE
  104.         GOSUB ASKQUIT
  105.         GOTO WELCOME
  106.     ENDIF
  107.  
  108.     
  109. GETPATH:
  110.     SetSymbolValue "EditTextIn", DEST$
  111.     SetSymbolValue "EditFocus", "END"
  112.  
  113. GETPATHL1:
  114.     sz$ = UIStartDlg(CUIDLL$, APPPATH, "FEditDlgProc", 0, "")
  115.     IF sz$ = "CONTINUE" THEN
  116.         DEST$ = GetSymbolValue("EditTextOut")
  117.         IF IsDirWritable(DEST$) = 0 THEN
  118.             GOSUB BADPATH
  119.              GOTO GETPATHL1
  120.          ENDIF
  121.         UIPop 1
  122.     ELSEIF sz$ = "REACTIVATE" THEN
  123.          GOTO GETPATHL1
  124.     ELSEIF sz$ = "BACK" THEN
  125.         DEST$ = GetSymbolValue("EditTextOut")
  126.          UIPop 1
  127.          GOTO WELCOME
  128.     ELSEIF sz$ = "EXIT" THEN
  129.          GOSUB ASKQUIT
  130.          GOTO GETPATHL1
  131.     ENDIF
  132.  
  133.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  134.     QTFileCount% = 12
  135.     QTWSrcDir = MakePath(SrcDir$,"QTW")
  136.     AutoexecWasModified% = 0
  137.     RestartWindows% = 0
  138.     ClearCopyList
  139.  
  140.  
  141. SELECTCDDRIVE:
  142.     SetSymbolValue "ListItemsIn", ""
  143.     GetNetworkDrivesList "ListItemsIn"
  144. CD1:
  145.      sz$ = UIStartDlg(CUIDLL$, SINGLELIST, "FListDlgProc", 0, "")
  146.    CDdrive$ = GetListItem("ListItemsOut", 1)
  147.    IF sz$ = "CONTINUE" THEN
  148.          IF CDdrive$ = "" THEN
  149.             GOTO CD1
  150.          ELSE
  151.             UIPop 1
  152.          ENDIF
  153.     ELSEIF sz$ = "REACTIVATE" THEN
  154.         GOTO CD1
  155.     ELSEIF sz$ = "BACK" THEN
  156.         UIPop 1
  157.           GOTO GETPATH
  158.     ELSE
  159.         GOSUB ASKQUIT
  160.         GOTO CD1
  161.     END IF
  162.  
  163. QTCHECK:
  164.     IF CheckQTFiles% = 0 THEN
  165.         FilesOkay% = QTFilesOkay("")
  166.         IF FilesOkay% = 3 THEN
  167.             CopyChoice$ = "2"
  168.         ELSE
  169.             CopyChoice$ = "1"
  170.         ENDIF
  171.         UserChoice$ = "1"
  172.         AutoExecChoice$ = "1"
  173.     ENDIF
  174.  
  175. QTPROMPT:
  176.     IF FilesOkay% <> 0 THEN                        '' QT Files aren't Okay
  177.         IF FilesOkay% = 1 THEN
  178.             PromptQT QTNONE
  179.         ELSEIF FilesOkay% = 2 THEN
  180.             PromptQT QTOLDER
  181.         ELSEIF FilesOkay% = 3 THEN
  182.             PromptQT QTNEWER
  183.         ELSEIF FilesOkay% = 4 THEN
  184.             PromptQT QTINCOMPLETE
  185.         ENDIF
  186.  
  187. QTDESTINATION:
  188.         QTDirNeeded% = 0
  189.         AutoexecWasModified% = 0
  190.         IF BackedUp% = 0 THEN
  191.             IF UserChoice$ = CopyChoice$ THEN
  192.                 QTDirNeeded% = 1
  193.                 szTmp$ = QTDestDir$
  194.                  QTDestDir$ = GetNewDestination(szTmp$)
  195.                 IF BackedUp% = 0 THEN
  196.                     IF FilesOkay% = 1 THEN
  197.                            AutoexecWasModified% = 1
  198.                     ELSEIF szTmp$ <> QTDestDir$ THEN
  199.                            AutoexecWasModified% = 1
  200.                     ENDIF
  201.                 ELSE
  202.                     GOTO QTPROMPT
  203.                 ENDIF
  204.             ELSE
  205.                 GOTO DOINSTALL
  206.             ENDIF
  207.         ELSE
  208.             GOTO GETPATH
  209.         ENDIF
  210.  
  211.         BackedUp% = 0
  212.         IF AutoexecWasModified% = 1 THEN
  213.             SetSymbolValue "RadioDefault", AutoExecChoice$
  214. AUTOPROMPT:
  215.             sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", 0, "")
  216.             IF sz$ = "CONTINUE" THEN
  217.                UIPop 1
  218.                 rtn% = AppendToPath("C:\AUTOEXEC.BAT", "C:\AUTOEXEC.QTW", QTDestDir$)
  219.             ELSEIF sz$ = "REACTIVATE" THEN
  220.                GOTO AUTOPROMPT
  221.             ELSEIF sz$ = "BACK" THEN
  222.                 AutoExecChoice$ = GetSymbolValue("ButtonChecked")
  223.                 UIPop 1
  224.                 GOTO QTDESTINATION
  225.             ELSEIF sz$ = "EXIT" THEN
  226.                 GOSUB ASKQUIT
  227.                 GOTO AUTOPROMPT
  228.             END IF
  229.             
  230.             AutoExecChoice$ = GetSymbolValue("ButtonChecked")
  231.             IF AutoExecChoice$ = "1" THEN
  232.                 CopyFile "C:\AUTOEXEC.BAT", "C:\AUTOEXEC.BAK", cmoOverwrite, 0
  233.                 CopyFile "C:\AUTOEXEC.QTW", "C:\AUTOEXEC.BAT", cmoOverwrite, 0
  234.                 RemoveFile "C:\AUTOEXEC.QTW", cmoForce
  235.             ENDIF
  236.         ENDIF
  237.     ENDIF
  238.  
  239.  
  240.  
  241. DOINSTALL:
  242.  
  243.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  244.  
  245.     IF QTDirNeeded% = 1 THEN
  246.         AddSectionFilesToCopyList "Quick Time", QTWSrcDir$, QTDestDir$
  247.     ENDIF
  248.  
  249.  
  250.  
  251.     IF GetCopyListCost(szExtras$, szCosts$, szNeededs$) <> 0 THEN
  252. CHECKSPACE:
  253.         sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", 0, "")
  254.         IF sz$ = "REACTIVATE" THEN
  255.            GOTO CHECKSPACE
  256.         ENDIF
  257.         UIPop 1
  258.         END
  259.     ENDIF
  260.  
  261.     IF QTDirNeeded% = 1 THEN
  262.         IF DoesDirExist(QTDestDir$) = 0 THEN
  263.             CreateDir QTDestDir$, cmoNone
  264.         ENDIF
  265.     ENDIF
  266.  
  267.     IF DoesDirExist(DEST$) = 0 THEN
  268.            CreateDir DEST$, cmoNone
  269.     ENDIF
  270.  
  271.     CopyFilesInCopyList
  272.  
  273.  
  274.     CreateIcon
  275.  
  276.     rtn% = AddCDromDriveLetter("SYS", ".groupFileNames[]")
  277.    IF rtn% <> 0 THEN
  278.        i% = DoMsgBox("QUAKEP.SYS not updated. Contact technical support at 1-800-654-8802.", "Setup Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  279.    ENDIF
  280.  
  281.     rtn% = AddCDromDriveLetter("INI", "AssetPath")
  282.    IF rtn% <> 0 THEN
  283.       i% = DoMsgBox("QUAKE.INI not updated. Contact technical support at 1-800-654-8802.", "Setup Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  284.    ENDIF
  285.  
  286.     InvalidSystem% = 0
  287.     SetSymbolValue "ListItemsIn", ""
  288.  
  289.  
  290. SOUNDCHECK:
  291.     IF SoundCardFound() = 0 THEN
  292.         AddListItem "ListItemsIn", "A Sound Card."
  293.         InvalidSystem% = 1
  294.         SoundCardWarning% = 2
  295.     ENDIF
  296.  
  297.  
  298. MOUSECHECK:
  299.     IF HasMouseInstalled() = 0 THEN
  300.         AddListItem "ListItemsIn", "A Mouse."
  301.         InvalidSystem% = 1
  302.         IF SoundCardWarning = 2 THEN
  303.             SoundCardWarning% = 1
  304.         ENDIF
  305.     ENDIF
  306.  
  307.  
  308.  
  309. CHECK386:
  310.     IF GetProcessorType() < 3 THEN
  311.         AddListItem "ListItemsIn", "At least a 386 processor."
  312.         InvalidSystem% = 1
  313.         IF SoundCardWarning = 2 THEN
  314.             SoundCardWarning% = 1
  315.         ENDIF
  316.     ENDIF
  317.  
  318.  
  319. VGACHECK:
  320.     IF GetScreenHeight() < 480 THEN
  321.         AddListItem "ListItemsIn", "Any VGA or better video adaptor"
  322.         InvalidSystem% = 1
  323.         IF SoundCardWarning = 2 THEN
  324.             SoundCardWarning% = 1
  325.         ENDIF
  326.     ENDIF
  327.  
  328.  
  329. COLOR256:
  330.     IF Verify256Color = 0 THEN
  331.         AddListItem "ListItemsIn", "256 Color Mode."
  332.         InvalidSystem% = 1
  333.         IF SoundCardWarning = 2 THEN
  334.             SoundCardWarning% = 1
  335.         ENDIF
  336.     ENDIF
  337.  
  338.  
  339.  
  340.     IF (InvalidSystem% = 1 AND SoundCardWarning <> 2) THEN
  341. SHOWMIN:
  342.          sz$ = UIStartDlg(CUIDLL$, EXTENDEDLIST, "FListDlgProc", 0, "")
  343.        IF sz$ = "CONTINUE" THEN
  344.             UIPop 1
  345.        ELSEIF sz$ = "REACTIVATE" THEN
  346.             GOTO SHOWMIN
  347.        ELSE
  348.             UIPop 1
  349.        ENDIF
  350.     ENDIF
  351.  
  352.     IF AutoexecWasModified% = 1 THEN
  353. WARN:
  354.         sz$ = UIStartDlg(CUIDLL$, ADDHELP, "FInfoDlgProc", 0, "")
  355.         IF sz$ = "REACTIVATE" THEN
  356.            GOTO WARN
  357.         ENDIF
  358.         UIPop 1
  359.     ENDIF
  360.  
  361.     IF SoundCardWarning% <> 0 THEN
  362. SOUNDWARN:
  363.         sz$ = UIStartDlg(CUIDLL$, CDBADFILE, "FInfoDlgProc", 0, "")
  364.         IF sz$ = "REACTIVATE" THEN
  365.            GOTO SOUNDWARN
  366.         ENDIF
  367.         UIPop 1
  368.     ENDIF
  369.  
  370. QUIT:
  371.     ON ERROR GOTO ERRQUIT
  372.  
  373.     IF ERR = 0 THEN
  374.         dlg% = EXITSUCCESS
  375.     ELSEIF ERR = STFQUIT THEN
  376.         dlg% = EXITQUIT
  377.     ELSE
  378.         dlg% = EXITFAILURE
  379.     END IF
  380. QUITL1:
  381.     IF dlg% = EXITQUIT THEN
  382.         UIPop 1
  383.         END
  384.     ELSEIF dlg% = EXITFAILURE THEN
  385.         dlg% = EXITQUIT
  386.     END IF
  387.  
  388.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  389.     IF sz$ = "REACTIVATE" THEN
  390.         GOTO QUITL1
  391.     END IF
  392.     UIPop 1
  393.     END
  394.  
  395. ERRQUIT:
  396.     i% = DoMsgBox("Setup failed.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  397.     END
  398.  
  399.  
  400.  
  401. BADPATH:
  402.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  403.     IF sz$ = "REACTIVATE" THEN
  404.         GOTO BADPATH
  405.     END IF
  406.     UIPop 1
  407.     RETURN
  408.  
  409. ASKQUIT:
  410.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  411.  
  412.     IF sz$ = "EXIT" THEN
  413.         UIPopAll
  414.         ERROR STFQUIT
  415.     ELSEIF sz$ = "REACTIVATE" THEN
  416.         GOTO ASKQUIT
  417.     ELSE
  418.         UIPop 1
  419.     END IF
  420.     RETURN
  421.  
  422.  
  423. '** Purpose:
  424. '**     Appends a file name to the end of a directory path,
  425. '**     inserting a backslash character as needed.
  426. '** Arguments:
  427. '**     szDir$  - full directory path (with optional ending "\")
  428. '**     szFile$ - filename to append to directory
  429. '** Returns:
  430. '**     Resulting fully qualified path name.
  431. '*************************************************************************
  432. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  433.     IF szDir$ = "" THEN
  434.         MakePath = szFile$
  435.     ELSEIF szFile$ = "" THEN
  436.         MakePath = szDir$
  437.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  438.         MakePath = szDir$ + szFile$
  439.     ELSE
  440.         MakePath = szDir$ + "\" + szFile$
  441.     END IF
  442. END FUNCTION
  443.  
  444. '**
  445. '** Purpose:
  446. '** Arguments:
  447. '** Returns:    0=Okay, 1=None, 2=Older, 3=Newer, 4=Incomplete
  448. '*************************************************************************
  449. FUNCTION QTFilesOkay (szTemp$) STATIC AS INTEGER
  450.  
  451.     QTFilesOkay = 0
  452.    FOR i% = 1 TO QTFileCount% STEP 1
  453.           szKey$ = "QT" + STR$(i%)
  454.           szFile$ = GetSectionKeyFilename("Quick Time", szKey$)
  455.         IF i% = 1 THEN
  456.             QTDestDir$ = FindFileUsingFileOpen(szFile$)
  457.             IF QTDestDir$ = "" THEN
  458.                QTDestDir$ = WinDrive$ + ":\QTW\BIN"
  459.             ELSE
  460.                 QTDestDir$ = MID$(QTDestDir$, 1, (LEN(QTDestDir$) - LEN(szFile$) - 1))
  461.             ENDIF
  462.         ENDIF
  463.           szFullPathFile$ = MakePath(QTDestDir$, szFile$)
  464.           szDate$ = GetDateOfFile(szFullPathFile$)
  465.           IF DoesFileExist(szFullPathFile$, femExists) = 0 THEN
  466.             IF i% = 1 THEN
  467.                 QTFilesOkay = 1
  468.             ELSE
  469.                 QTFilesOkay = 4
  470.             ENDIF
  471.             GOTO DONEQTCHECK
  472.         ELSE
  473.             szDate$ = GetDateOfFile(szFullPathFile$)
  474.             IF i% = 1 THEN
  475.                 szSectionDate$ = GetSectionKeyDate("Quick Time", "QT 1")
  476.                 szSectionYear% = GetYearFromDate(szSectionDate$)
  477.                 szSectionMonth% = GetMonthFromDate(szSectionDate$)
  478.                 szSectionDay% = GetDayFromDate(szSectionDate$)
  479.             ENDIF
  480.              tmpVal% = VerifyQTDate (szDate$)
  481.              IF tmpVal% = 1 THEN
  482.                 QTFilesOkay = 2
  483.                 GOTO DONEQTCHECK
  484.             ELSEIF tmpVal% = 2 THEN
  485.                 QTFilesOkay = 3
  486.                 GOTO DONEQTCHECK
  487.             ENDIF
  488.         ENDIF
  489.     NEXT i%
  490.  
  491. DONEQTCHECK:
  492.     CheckQTFiles% = 1
  493. END FUNCTION
  494.  
  495. '**
  496. '** Purpose: 
  497. '** Arguments:
  498. '** Returns:
  499. '**     0=same, 1=older, 2=newer -- than section date
  500. '*************************************************************************
  501. FUNCTION VerifyQTDate ( szDate$ ) STATIC AS INTEGER
  502.  
  503.     VerifyQTDate = 0
  504.     newval% = GetYearFromDate(szDate$)
  505.     IF (newval% <> szSectionYear%) THEN
  506.        IF (newval% < szSectionYear%) THEN
  507.            VerifyQTDate = 1
  508.        ELSE
  509.               VerifyQTDate = 2
  510.        END IF
  511.        GOTO DONE1
  512.     END IF
  513.  
  514.     newval% = GetMonthFromDate(szDate$)
  515.     IF (newval% <> szSectionMonth%) THEN
  516.        IF (newval% < szSectionMonth%) THEN
  517.               VerifyQTDate = 1
  518.        ELSE
  519.               VerifyQTDate = 2
  520.        END IF
  521.            GOTO DONE1
  522.     END IF
  523.  
  524.     newval% = GetDayFromDate(szDate$)
  525.     IF (newval% <> szSectionDay%) THEN
  526.        IF (newval% < szSectionDay%) THEN
  527.               VerifyQTDate = 1
  528.        ELSE
  529.               VerifyQTDate = 2
  530.        END IF
  531.        GOTO DONE1
  532.     END IF
  533.  
  534. DONE1:
  535.  
  536. END FUNCTION
  537.  
  538.  
  539. '**
  540. '** Purpose: 
  541. '** Arguments:
  542. '** Returns:
  543. '*************************************************************************
  544. FUNCTION GetNewDestination ( szDir$ ) STATIC AS STRING
  545.  
  546.     GetNewDestination = szDir$        
  547. GETPATH:
  548.     SetSymbolValue "EditTextIn", szDir$
  549.     SetSymbolValue "EditFocus", "END"
  550.  
  551. GETPATHL1:
  552.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  553.  
  554.     IF sz$ = "CONTINUE" THEN
  555.        GetNewDestination = GetSymbolValue("EditTextOut")
  556.        UIPop 1
  557.     ELSEIF sz$ = "REACTIVATE" THEN
  558.        GOTO GETPATHL1
  559.     ELSEIF sz$ = "BACK" THEN
  560.         BackedUp% = 1
  561.        UIPop 1
  562.     ELSEIF sz$ = "EXIT" THEN
  563.        sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  564. TMP1:
  565.        IF sz$ = "EXIT" THEN
  566.               UIPopAll
  567.              ERROR STFQUIT
  568.        ELSEIF sz$ = "REACTIVATE" THEN
  569.               GOTO TMP1
  570.        ELSE
  571.               UIPop 1
  572.        END IF
  573.        GOTO GETPATHL1
  574.     ELSE
  575.        UIPop 1
  576.     END IF
  577.  
  578. END FUNCTION
  579.  
  580. '**
  581. '** Purpose:
  582. '** Arguments:
  583. '**     none.
  584. '** Returns: cannot call till files have been installed to destination.
  585. '**     none.
  586. '*************************************************************************
  587. FUNCTION AddCDromDriveLetter(szLabel$, szWord$) STATIC AS INTEGER
  588.  
  589. '' Update file with CDROM Drive Letter
  590.  
  591.     SysPFileName$ = MakePath(DEST$, GetSectionKeyFilename("Files", szLabel$))
  592.     TmpFile$ = MakePath(DEST$, "DRIVELET.TMP")
  593.  
  594.     valstat% = ChangeDriveLetter(SysPFileName$, TmpFile$, CDdrive$, szWord$)
  595.  
  596.     IF valstat% = 0 THEN
  597.         CopyFile TmpFile$, SysPFileName$, cmoOverwrite, 0
  598.        RemoveFile TmpFile$, cmoForce
  599.     ELSEIF valstat% = 1 THEN
  600.         RemoveFile TmpFile$, cmoForce
  601.     ENDIF
  602.  
  603.    AddCDromDriveLetter = valstat%
  604.  
  605. END FUNCTION
  606.  
  607. '**
  608. '** Purpose: 
  609. '** Arguments:
  610. '** Returns:
  611. '*************************************************************************
  612. SUB PromptQT (szType%) STATIC
  613.  
  614.     BackedUp% = 0
  615.     SetSymbolValue "RadioDefault", UserChoice$
  616. QT1:
  617.     sz$ = UIStartDlg(CUIDLL$, szType%, "FRadioDlgProc", 0, "")
  618.     IF sz$ = "CONTINUE" THEN
  619.         UIPop 1
  620.     ELSEIF sz$ = "REACTIVATE" THEN
  621.         GOTO QT1
  622.     ELSEIF sz$ = "BACK" THEN
  623.         BackedUp% = 1
  624.         UIPop 1
  625.     ELSEIF sz$ = "EXIT" THEN
  626.         sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  627. QT2:
  628.         IF sz$ = "EXIT" THEN
  629.               UIPopAll
  630.               ERROR STFQUIT
  631.         ELSEIF sz$ = "REACTIVATE" THEN
  632.               GOTO QT2
  633.         ELSE
  634.               UIPop 1
  635.         ENDIF
  636.         GOTO QT1
  637.     ENDIF
  638.  
  639.      UserChoice$ = GetSymbolValue("ButtonChecked")
  640. END SUB
  641.  
  642.  
  643.  
  644. '**
  645. '** Purpose: Creates a Program Group and a Program Item
  646. '** Arguments: None
  647. '** Returns: Nothing
  648. '*************************************************************************
  649. SUB CreateIcon STATIC
  650.  
  651.     CreateProgmanGroup "Earthquake", "", cmoNone
  652.     ShowProgmanGroup  "Earthquake", 1, cmoNone
  653.     CreateProgmanItem "Earthquake", "Earthquake", MakePath(DEST$, GetSectionKeyFilename("Files", "EXE")), "", cmoOverwrite
  654.    CreateProgmanItem "Earthquake", "Read Me", "write "+MakePath(DEST$, GetSectionKeyFilename("Files", "HLP")), "", cmoOverwrite
  655. END SUB
  656.  
  657.  
  658. 
  659. 
  660.